home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / pnode_13.zip / PNODE.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-04-17  |  2KB  |  199 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     String   STRING001
  24.     String   STRING002
  25.     String   STRING003
  26.     String   STRING004
  27.     String   STRING005
  28.     String   STRING006
  29.     String   STRING007
  30.     String   STRING008
  31.     String   STRING009
  32.     String   STRING010
  33.     String   STRING011
  34.     String   STRING012
  35.     String   STRING013
  36.     String   STRING014
  37.     String   STRING015
  38.     String   STRING016
  39.     String   STRING017
  40.     String   STRING018
  41.  
  42. ;------------------------------------------------------------------------------
  43.  
  44.     INTEGER002 = 1
  45.     :LABEL001
  46.     If (Exist(PPEPath() + "PNODE.CNF")) Then
  47.         FOpen INTEGER002, PPEPath() + "PNODE.CNF", 0, 0
  48.         If (Ferr(INTEGER002)) Then
  49.             INTEGER002 = INTEGER002 + 1
  50.             Goto LABEL001
  51.         Endif
  52.         FGet INTEGER002, INTEGER001
  53.         FGet INTEGER002, STRING003
  54.         STRING001 = PcbNode()
  55.         If (STRING001 <> Left(STRING003, 1)) Then
  56.             FClose INTEGER002
  57.             End
  58.         Endif
  59.         FGet INTEGER002, STRING002
  60.         FGet INTEGER002, STRING006
  61.         FGet INTEGER002, STRING007
  62.         FGet INTEGER002, STRING011
  63.         FGet INTEGER002, STRING012
  64.         FGet INTEGER002, STRING015
  65.         FGet INTEGER002, STRING016
  66.         FClose INTEGER002
  67.         STRING008 = Strip(STRING006, ":")
  68.         STRING009 = Strip(STRING007, ":")
  69.         STRING013 = Strip(STRING011, ":")
  70.         STRING014 = Strip(STRING012, ":")
  71.         STRING017 = Strip(STRING015, ":")
  72.         STRING018 = Strip(STRING016, ":")
  73.         STRING010 = Strip(Time(), ":")
  74.         If (Upper(Left(STRING008, 6)) == "ALWAYS") Goto LABEL002
  75.         If ((STRING010 >= STRING008) && (STRING010 < STRING009)) Goto LABEL002
  76.         If ((STRING010 >= STRING013) && (STRING010 < STRING014)) Goto LABEL002
  77.         If ((STRING010 >= STRING017) && (STRING010 < STRING018)) Goto LABEL002
  78.         Goto LABEL003
  79.         :LABEL002
  80.         GetUser
  81.         Gosub LABEL005
  82.         STRING001 = PcbNode()
  83.         If (STRING001 == Left(STRING003, 1)) Then
  84.             If (U_Sec >= INTEGER001) Goto LABEL003
  85.             Cls
  86.             DispFile PPEPath() + STRING002, 1
  87.             PrintLn 
  88.             PrintLn " @X08Private Node @X0Fv1.3 @X08/ Coded by: @X0FCode 3 @X08/ A @X02GRiPPE @X08release"
  89.             Delay 10
  90.             Hangup
  91.             End
  92.             Goto LABEL004
  93.         Endif
  94.         :LABEL003
  95.         FClose INTEGER002
  96.         :LABEL004
  97.         End
  98.         :LABEL005
  99.         If (!Exist(PPEPath() + "PNUSER.")) Return
  100.         FOpen INTEGER002, PPEPath() + "PNUSER.", 0, 0
  101.         If (Ferr(INTEGER002)) Then
  102.             INTEGER002 = INTEGER002 + 1
  103.             Goto LABEL005
  104.         Endif
  105.         FGet INTEGER002, STRING005
  106.         FGet INTEGER002, INTEGER003
  107.         INTEGER004 = INTEGER003
  108.         INTEGER003 = 0
  109.         While (INTEGER003 <> INTEGER004) Do
  110.             Inc INTEGER003
  111.             FGet INTEGER002, STRING004
  112.             If ((Upper(Left(STRING005, 1)) == "N") && (Upper(STRING004) == U_Name())) Goto LABEL006
  113.             If ((Upper(Left(STRING005, 1)) == "Y") && (Upper(STRING004) == U_Name())) End
  114.         EndWhile
  115.         FClose INTEGER002
  116.         Return
  117.         :LABEL006
  118.         Cls
  119.         DispFile PPEPath() + STRING002, 1
  120.         PrintLn 
  121.         PrintLn " @X08Private Node @X0Fv1.3 @X08/ Coded by: @X0FCode 3 @X08/ A @X02GRiPPE @X08release"
  122.         Delay 10
  123.         Hangup
  124.         End
  125.     Endif
  126.     PrintLn 
  127.     PrintLn "@X0C ERROR!@X0B PNODE Config File Is Missing. @X0AExiting. "
  128.     PrintLn 
  129.     PrintLn 
  130.     PrintLn 
  131.     Wait
  132.     End
  133.  
  134. ;------------------------------------------------------------------------------
  135. ;
  136. ; Usage report (before postprocessing)
  137. ;
  138. ; ■ Statements used :
  139. ;
  140. ;    6       End
  141. ;    2       Cls
  142. ;    1       Wait
  143. ;    17      Goto 
  144. ;    14      Let 
  145. ;    9       PrintLn 
  146. ;    14      If 
  147. ;    2       DispFile 
  148. ;    2       FOpen 
  149. ;    4       FClose 
  150. ;    12      FGet 
  151. ;    2       Hangup
  152. ;    1       GetUser
  153. ;    1       Gosub 
  154. ;    2       Return
  155. ;    2       Delay 
  156. ;    1       Inc 
  157. ;
  158. ;
  159. ; ■ Functions used :
  160. ;
  161. ;    8       +
  162. ;    6       ==
  163. ;    2       <>
  164. ;    3       <
  165. ;    4       >=
  166. ;    7       !
  167. ;    5       &&
  168. ;    5       Upper()
  169. ;    5       Left()
  170. ;    2       Ferr()
  171. ;    1       Time()
  172. ;    2       U_Name()
  173. ;    7       Strip()
  174. ;    6       PPEPath()
  175. ;    2       PcbNode()
  176. ;    2       Exist()
  177. ;
  178. ;------------------------------------------------------------------------------
  179. ;
  180. ; Analysis flags : B
  181. ;
  182. ; B - Brute hangup ■ 1
  183. ;     Program hangup without notification. This may be a good way to
  184. ;     disconnect a user, but if used randomly, may be very nasty
  185. ;     ■ Search for : HANGUP, DTROFF
  186. ;
  187. ;------------------------------------------------------------------------------
  188. ;
  189. ; Postprocessing report
  190. ;
  191. ;    0       For/Next
  192. ;    1       While/EndWhile
  193. ;    5       If/Then or If/Then/Else
  194. ;    0       Select Case
  195. ;
  196. ;------------------------------------------------------------------------------
  197. ;                 AEGiS Corp - Break the routines, code against the machines!
  198. ;------------------------------------------------------------------------------
  199.